home *** CD-ROM | disk | FTP | other *** search
- **************************************************************************
-
- * *
-
- * RAMSCH-RCS 1.0 *
-
- * *
-
- * by Rainer M. Schmid *
-
- * *
-
- **************************************************************************
-
-
-
- 0. Allgemeines
-
- Dies ist ein fantastisches, unglaubliches, noch nie dagewesenes
- Resource-Construction-Set von einem unglaublichen Programmierer entworfen
- und geschrieben: MIR
-
- Noch unglaublicher und fantastischer ist, daß dieses Programm Public
- Domain ist und nix kostest und jeder es frei kopieren kann. (Dennoch will
- ich niemanden abhalten, mir eine kleine Spende zu spendieren).
-
- Es sollte in der mittleren und hohen Auflösung ohne Schwierigkeiten laufen
- (bei der niedrigen Auflösung gibt es Probleme, da die Dialogfelder zu groß
- sind). Sollten wider Erwarten dennoch Fehler auftreten schreiben Sie mir
- bitte möglichst genau, wie, wann, unter welchen Umständen etc. der Fehler
- aufgetreten ist, so daß ich ihn zu Hause wiederholen kann (siehe auch
- Abschnitt Bugs).
-
-
-
- 1. Bedienung
-
- Da viele Funktionen des Programms selbterklärend sind, möchte ich nur auf
- Besonderheiten der Bedienung eingehen.
-
-
-
- 1.1. Hinzufügen eines Trees
-
- Links neben dem Window ist ein Dialog zu sehen. Die Icons können ins
- Fenster gedraggt werden, um einen neuen Tree zu erzeugen. Die einzelnen
- Icons haben dabei folgende Bedeutung:
-
- MENUE: Ein Pulldown-Menue wird im Speicher erzeugt.
-
- DIALOG: Ein normales Dialogfeld wird erzeugt (dabei
- wird für die Objekte ein Raster benutzt).
-
- FREE: Wie DIALOG, allerdings ohne Raster
-
- UNBEKANNT: Wie FREE, sollte man aus Übersichtlichkeit
- nicht verwenden; dient hauptsächlich dazu,
- wenn ein fremdes Resource geladen wird, das
- keine DEF-Datei besitzt, zu signalisieren,
- daß der Typ nicht erkannt werden konnte.
-
- Mit einem Doppelclick auf das jeweilige Icon im Fenster, kann es zur
- Bearbeitung geöffnet werden. Dabei ändert sich auch der Inhalt des
- Dialogs, das jetzt die Objekte enthält, die man dem Tree hinzufügen kann.
- Das Hinzufügen erfolgt durch ein einfaches Draggen des Objekts an die
- Stelle, an der es Erscheinen soll.
-
- Die Verkettung wird so vorgenommen, daß das neue Objekt Sohn des Objekts
- ist, innerhalb dessen sich die linke obere Ecke des neuen Objekts sich
- befindet. Objekte können verschoben werden, indem man sie an die neue
- Position draggt. Dabei ändert bzw. kann sich die Verkettung ändern, wenn
- die linke obere Ecke des verschobenen Objekts sich in einem anderen Objekt
- befindet. (Dies alles gilt nicht für Menues.)
-
- Betätigt man den Closer des Fensters (in dem "Tree-Bearbeitungs-Modus"),
- gelant man in den "Tree-hinzufügen-Modus" zurück.
-
-
-
- 1.2. Menue "RSC überladen"
-
- Entspricht dem normalen Laden, allerdings wird man nicht aufgefordert, ein
- File auszuwählen, sondern das bereits geladene Resource (Pfad und Name
- stehen in der Titelzeile des Fensters) wird geladen. Dabei gehen
- selbstverständlich alle bisher gemachten Änderungen verloren.
-
-
-
- 1.3. Menue "RSC anhängen"
-
- Tip: Sollten Sie Probleme mit einem Resource-File haben (d.h. es wird
- nicht korrekt geladen), dann sollten Sie es mal mit dieser Funktion
- versuchen zu laden. (Vorher aber noch ein im Speicher befindliches
- Resource mit "Neu" löschen.)
-
-
-
- 1.4. Icon-Editor
-
- Das unterstützte Icon-Format entspricht dem von IconEdi (von Stefan Münch)
- benutzten. Dieses Programm ist als Public-Domain erhältlich und jedem, der
- öfters mit Icons arbeitet zu empfehlen. Da ich darauf verzichtet habe,
- einen Icon-Editor zu implementieren, kann man einen externen Icon-Editor
- aufrufen (dessen Pfad und Name muß erst mit dem Menue-Punkt "Icon-Eitor
- lokalisieren" festgelegt werden).
-
-
-
- 1.5. Klemmbrett
-
- Das Klemmbrett ist ein Speicher, in dem man einzelne Objekte (mit Kindern)
- und auch ganze Trees zwischenspeichern kann, um diese später wieder
- herunterzuholen. Dabei kann jeweils nur ein Objekt (d.h. Objekt, evtl. mit
- Kindern oder Tree) sich auf dem Klemmbrett befinden. Befand sich vorher
- schon eines darauf, so geht es verloren.
-
- "Ins Klemmbrett kopieren" kopiert das selektierte Objekt ins Klemmbrett.
- Das ursprüngliche Objekt bleibt erhalten. "Ins Klemmbrett verschieben"
- entspricht der vorherigen Funktion, allerdings wird das ursprüngliche
- Objekt gelöscht.
-
- "Von Klemmbrett holen" fügt das sich im Klemmbrett befindliche Objekt an
- der linken oberen Ecke der Root ein. (Bei Trees wird der Tree in die
- Treeliste aufgenommen).
-
- "Kopieren" führt gleichzeitig die Funktionen "Ins Klemmbrett kopieren" und
- "Von Klemmbrett holen" aus.
-
- Bei MENUEs funktionieren die Klemmbrett-Funktionen nicht.
-
-
-
- 1.6. Menue "Raster einstellen"
-
- Beim Typ DIALOG wird ein Raster benutzt (s.o.). Mit dieser Funktion kann
- man die Rastergröße einstellen.
-
-
-
- 1.7. Menue "Bildschirmgröße einstellen"
-
- Mit dieser Funktion kann man den maximalen x- und y-Bereich eines Dialogs
- in Pixeln angeben.
-
-
-
- 1.8. Menue "Sortieren"
-
- Die Kinder der ersten Generation des selektierten Objekts werden sortiert
- (ändert unter anderem auch die Reihenfolge, mit der sie angezeigt werden).
- Hierbei kann man zwischen physischen und logischen Sortieren wählen. Beim
- logischen Sortieren wird nur die Verkettung geändert; die Objektnummern
- bleiben erhalten. Beim physischen Sortieren hingegen werden die Objekte
- direkt vertauscht. D.h. die Objektnummern ändern sich und eine neue
- Compilierung des Programms wird notwendig.
-
-
-
- 1.9. Menue "Physisch verauschen mit..."
-
- Zuerst selektiert man ein Objekt, das man mit einem anderen physisch
- vertauschen will. Danach wählt man den Menue-Punkt an. Schließlich
- selektiert man noch das Objekt, mit dem es vertauscht werden soll. Dabei
- ändert sich die logische Struktur (Verkettung der Objekte untereinander)
- nicht, sondern nur die Objektnummern.
-
- Einen ähnlichen Effekt kann man erzielen, wenn man ein Objekt mit
- Doppelclick öffnet und dann im Eintrag Objekt-Nr diese ändert. (Sofern
- diese Änderung gültig ist wird sie auch ausgeführt. D.h. die
- Objektnummern, und nur die Objektnummern, der beteiligten Objekte werden
- vertauscht.
-
-
-
- 1.10. Menue "Unhide"
-
- Löscht alle evtl. gesetzten Hide-Flags.
-
-
-
- 1.11. Menue "Profi-Modus"
-
- Normalerweise können die Flags "indirect" und "lastob" nicht geändert
- werden. Diese Option ermöglicht es jedoch. (Sollte im Normalfall nicht
- benutzt werden, da es bei den meisten Änderungen einen Systemabsturz
- hervorruft; es wurde aber der Vollständigkeit halber hinzugefügt.)
-
-
-
- 1.12. Menue "Def-Liste drucken"
-
- Hiermit kann man die Namen der einzelnen Objekte ausdrucken. (Um die
- Wrikung der einzelnen Optionen herauszufinden, sollten sie am besten
- ausprobiert werden, falls die Bezeichnung nicht ganz klar ist.)
-
-
-
- 1.13. Menue "Icon-Editor lokalisieren"
-
- Mit dieser Funktion kann man den Pfad und den Namen des Programms
- festlegen, das bei der Funktion "Icon-Editor aufrufen" aufgerufen werden
- soll.
-
-
-
- 1.14. Menue "Status sichern"
-
- Diese Funktion speichert die Einstellungen für die Suchpfade (bei
- RSC-Files und bei ICO-Files) und den Pfad und Namen des Icon-Editors.
- Ferner noch die Einstellungen der Funktionen "Bildschirmgröße einstellen"
- und "Raster einstellen". Beim Programmstart werden diese automatisch
- geladen und benutzt. Existiert keine INF-Datei, so werden Default-Werte
- benutzt.
-
-
-
- 1.15. Einschränkungen
-
- Das Programm unterstützt den Objekttyp "G_IMAGE" nicht.
-
- Die Gesamtzahl von Trees ist auf 50 beschränkt.
-
-
-
- 2. Bugs
-
- "Program testing can be used very effectively to show the presence of
- bugs, but never to show their absenece!" (Dijkstra)
-
- Dieses Programm wurde zwar ausführlich getestet, Fehler können aber nicht
- ausgeschlossen werden, daher sollte man öfters eine Sicherheitskopie von
- der Resource-Datei erstellen, um eventuellen Datenverlust zu vermeiden.
-
- Ferner bitte ich jeden, der einen Fehler entdeckt, mir dies mitzuteilen,
- und zwar möglichst genau, damit ich ihn reproduzieren kann (möglichst mit
- genauen Angaben des verwendeten Rechners, Betriebsystems, Erweiterungen
- etc.).
-
-
-
- 3. In eigener Sache
-
- Zuletzt noch ein paar Bemerkungen in eigener Sache:
-
- Ich bin gerne bereit, auf Fragen und sonstige Probleme zu antworten,
- allerdings sollte dann ein ausreichend frankierter Briefumschlag beigefügt
- werden; ansonsten kann ich nicht zurückschreiben.
-
- Für Vorschläge, Wünsche, Beschwerden und destruktive Kritik bin ich
- dankbar und werde sie gerne in einer neuen Version aufnehmen (falls es
- eine geben wird, denn in einem solchen Programm steckt viel Arbeit und
- Zeit; und ich weiß noch nicht, ob ich noch mehr Arbeit hineinstecken soll
- und ob sich das lohnt).
-
- Wenn jemand das erweiterte RSC-Format (d.h. keine Beschränkung der Länge
- des Resource auf 64K) kennt, wäre ich ihm dankbar, wenn er mir dieses
- mitteilen könnte.
-
- Auf der Diskette ist noch ein kleines Programm mit dem Namen "TEST.C"
- enthalten. Da ich bei einer neuen Version gerne eine Funktion
- implementieren würde, die es erlaubt ein Resource als C-Quelltext in das
- Pogramm aufzunehmen, wäre es interressant zu erfahren, ob das Programm mit
- Ihrem Compiler zusammenarbeitet bzw. wie es zu modifizieren wäre, damit es
- läuft. (Ein Problem könnte sich vieleicht beim String "str" in der
- Definition vom Objekt "o" ergeben.)
-
- In der mir zur Verfügung stehenden Literatur fand ich zwei verschiedene
- Formate für die Iconblk-Struktur (eine mit der Länge von 34 Bytes, die
- andere mit 36 Bytes). Ich habe diejenige mit 34 Bytes implementiert; es
- würde mich aber interessieren, welche die gebräuchliche ist.
-
- Außerdem suche ich noch einen guten C-Compiler (z.B: Turbo-C, Pure-C
- etc.), da ich bis jetzt mit dem Public-Domain-Compiler Sozobon-C arbeite,
- und er doch recht langsam ist. Daher an alle, die einen C-Compiler billig
- abzugeben haben: MELDET EUCH!!!
-
- Als letztes noch meine Adresse, unter der ihr mich erreichen könnt:
-
-
-
- 4. Adresse
-
-
-
- Rainer Schmid
-
- Am Hagenweg 16
-
- 78259 Mühlhausen
-
-
-
- Tel: 07733/5521
-
-
-
-
-
-